package com.enjoyor.soa.traffic.api.ubms.service.dubbo;


import com.enjoyor.soa.traffic.api.ubms.dto.CrossLaneRltDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 维护交叉口-车道关系的Dubbo服务
 * @author yuankun
 * @version V1.0
 */

public interface DubboCrossLaneRltService {
	
	/**
	 * 返回所有交叉口-车道关系
	 * @return ResultPojo 交叉口-车道关系
	 */
	public ResultPojo getCrossLaneRlt();
	
	/**
	 * 返回所有交叉口-车道关系
	 * @return ResultPojo 交叉口-车道关系
	 */
	public ResultPojo getCrossLaneRlt(String crossId, String laneId, String orderSeq);
	/**
	 * 分页返回所有交叉口-车道关系
	 * @param page 分页对象
	 * @return ResultPojo 包含交叉口-车道关系的分页对象
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageCrossLaneRlt(Page page);
	
	@SuppressWarnings("rawtypes")
	public ResultPojo getPageCrossLaneRlt(Page page, String crossId, String laneId, String orderSeq);
	
	/**
	 * 返回指定交叉口编码的交叉口-车道关系
	 * @param crossId 交叉口编码
	 * @return ResultPojo 交叉口-车道关系
	 */
	public ResultPojo getCrossLaneRltByCrossId(String crossId);
	
	/**
	 * 返回指定交叉口和车道编码的交叉口-车道关系
	 * @param crossId 交叉口编码
	 * @param laneId 车道编码
	 * @return ResultPojo 交叉口-车道关系
	 */
	public ResultPojo getCrossLaneRltByCrossIdAndLaneId(String crossId, String laneId);
	
	/**
	 * 添加一条交叉口-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param crossLaneRltDto 交叉口-车道关系
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo addCrossLaneRlt(String token, CrossLaneRltDto crossLaneRltDto);
	
	/**
	 * 修改一条交叉口-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param crossLaneRltDto 交叉口-车道关系
	 * @return ResultPojo 修改结果
	 */
	public ResultPojo editCrossLaneRlt(String token, CrossLaneRltDto crossLaneRltDto);
	
	/**
	 * 删除指定交叉口和车道编码的交叉口-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param crossId 交叉口编码
	 * @param laneId 车道编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeCrossLaneRlt(String token, String crossId, String laneId);
}
